package Modelo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;

import org.hibernate.validator.constraints.NotEmpty;

/** Classe representa a Tabela Dados Pessoais no banco de dados
 * @author Kevin Jelson
 * @version 1.0
 * @since Release 18/11/2014
 */
@Entity
public class DadosPessoais implements Serializable {

	@Id
	@GeneratedValue
	private long id;
	
	@NotEmpty(message = "Por favor, preencha este campo")
	@Column(nullable = false)
	private String nome;
	
	@Column(nullable = false)
	private Date dataNascimento;
	
	@NotEmpty(message = "Por favor, preencha este campo")
	@Column(nullable = false, unique = true)
	private String cpf;
	
	private String telefone;
	
	@OneToOne(cascade=CascadeType.ALL)
	private Endereco endereco;
	
	//GETTERS E SETTERS
	public long getId() {
		return id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Date getDataNascimento() {
		return dataNascimento;
	}

	public void setDataNascimento(Date dataNascimento) {
		this.dataNascimento = dataNascimento;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}

}
